The use of computer systems and computer-related technologies continues to increase at a rapid pace. This increased use of computer systems has influenced the advances made to computer-related technologies. Indeed, computer systems have increasingly become an integral part of the business world and the activities of individual consumers. Computer systems are used to carry out several business, industry, and academic endeavors.
A user of a computer system typically interacts with computer software running on the system via a user interface on a screen. Computer software may interact with additional software programs. For example, a host computer program may interact with a computer plug-in application. A plug-in may provide a certain function to the host application on demand. In some instances, the host application provides services which the plug-in can use. For example, the host application may provide a way for plug-ins to register themselves with the host application as well as a protocol for the exchange of data with the plug-ins.
Plug-ins and other components interacting with computer software depend on the services provided by the host application. Open application programming interfaces (APIs) typically provide a standard interface, allowing third parties to create plug-ins that interact with the host application. However, third parties may create malicious plug-ins and other components that impede the performance of the computer software, extract sensitive information about the user of the computer software (e.g., financial information, identification, etc.), and engage in other malicious activities. As such, benefits may be realized by providing improved systems and methods for monitoring and recording the behavior of unknown components (such as plug-ins) as they execute an event. The monitored and recorded behavior may then allow a determination to be made as to whether the plug-in or other unknown component is a malicious or non-malicious component.